B 币安 · 全球最大的加密货币交易所币安 注册 → AD OKX OKX · 全球领先的加密货币交易所OKX 注册 → AD

文本对比工具

逐行比较两段文本,显示差异

这个工具能做什么

把原始文本和要比较的文本分别粘贴到两个栏中并点击比较,就会把两段文字按行对照,在一个画面上连续显示未变的行、删除的行(红色,前面带 −)和新增的行(绿色,前面带 +)。上方汇总新增和删除的行数,两段文字完全相同时会提示“完全相同”。适合比较合同或报告的修订版、检查配置文件或代码的变更、核对抄写的文字是否与原文一致。

计算方法

把两段文本按换行符拆分后,用动态规划求“最长公共子序列”。即找出两段文字中按相同顺序保留的尽可能多的行,归为“相同行”,只在原文中存在的行标为删除,只在比较文本中存在的行标为新增。行必须连一个字符、一个空格都完全相同才算相同行。例如原文为“苹果/梨/葡萄”三行,比较文本为“苹果/橘子/葡萄”,结果会按“苹果(相同)→ −梨 → +橘子 → 葡萄(相同)”的顺序显示,汇总为“+1 行新增 · −1 行删除”。在同一位置改动的行,删除行在前,新增行在后。计算全部在浏览器内完成,输入的文字不会发送到任何地方。

  • 在左侧(或上方)栏粘贴原始文本。
  • 在右侧(或下方)栏粘贴修改后的文本。
  • 点击比较,会显示新增和删除行数的汇总以及逐行结果。
  • 红色 − 行只存在于原文,绿色 + 行只存在于比较文本。无颜色的行两边相同。
  • 修改文字后,需要再次点击比较才会重新计算结果。

使用须知

  • 行尾的空格、制表符与空格的差别也会被视为不同的行。肉眼看起来相同却显示不同时,请先怀疑看不见的空白。
  • Windows 式换行与 Mac 等其他系统的换行混在一起时,几乎所有行都可能显示为不同。比较从同一编辑器复制的文字比较保险。
  • 一行中只要改了一个字,整行就会显示为一对删除和新增。长段落按句换行后再输入,就能大幅缩小改动位置的范围。
  • 只调换行的顺序也不会被视为移动,而是一边显示删除、另一边显示新增。
  • 空行也算一行。只要段落之间的空行数量不同,也会显示为差异。
  • 比较所需的计算量按两段文字行数的乘积增长,几千行的文档可能会变慢。请只截取改动附近的部分进行比较。
  • 输入内容不会保存,刷新前请另外保留需要的文字。

常见问题

只改了一个字,却显示整行都变了。

因为这是按行比较的工具。该行会连续显示删除和新增,把这两行上下对照来找改动的字即可。

只调换了顺序的行会怎样显示?

在原位置显示为删除,在新位置显示为新增。不会另外识别行的移动。

可以放入合同这类敏感文件吗?

比较只在浏览器内计算,没有发送到服务器的代码。输入内容也不会保存,关闭页面就会消失。

也能用来比较代码或配置文件吗?

可以。不过只要改了缩进或行尾空格就会被视为差异,所以只整理过格式的文件,差异可能看起来比实际多。

← na.to 门户